An industrial robot may be viewed as a chain consisting of stiff links. Two links are joined to each other in such a way that they are rotatable in relation to each other around an axis of rotation, or displaceable in relation to each other along a linear movement path. An industrial robot usually has six axes of rotation. The last link in the chain may consist of a tool which, depending on the field of application, may be a gripper, a glue gun or a welding gun. In the following, the links in a robot will be referred to as arms, and their lengths will be referred to as arm's lengths.
For each of the above-mentioned axes of rotation or linear movement paths, servo equipment with a driving motor and a position transducer is provided, the transducer delivering a signal which is a measure of the angle of rotation of the actual axis in relation to a reference position. The servo system of each axis is supplied with a reference value of the angle of rotation or linear movement of the axis, and the driving motor of the axis causes the robot the move until the axis position indicated by the position transducer of the axis corresponds to the reference value supplied to the servo system. In order for the position and orientation of the tool to correspond to the desired values, the mechanical structure of the robot and the parameters, so-called kinematic parameters, which describe it must be known with a high accuracy. Since the kinematic parameters are not exactly the same for each robot, the individual deviations from an ideal robot, that is, the kinematic error parameters of the robot, must be known if a high accuracy is to be attained.
Examples of kinematic error parameters are variations in the lengths of the arms, so-called arm's length errors, obliquities in the axes of rotation in relation to each other, so-called axis-attitude errors, and lateral displacements of the axes in relation to each other, so-called axis-offset errors. These deviations arise during manufacture of the different mechanical components and during the assembly thereof. To this is to be added the fact that the angle indicated by the position transducer of an axis must with great accuracy correspond to the actual angle of rotation of the arm which is controlled with the aid of the axis in question, the so-called encoder offset value. To determine the deviation of an individual robot from an ideal robot, various forms of calibration methods are used.
From Swedish patent document 9303757, a calibration method is known in which a spherical calibration body with a known radius is used. A calibration tool, comprising a sphere with a known radius, mounted on the robot hand is brought into contact with the calibration body in a number of different robot configurations. When the calibration tool and the calibration body are in contact with each other, position transducer signals are read and stored. Thereafter, the calibration parameters of the robot are calculated on the basis of the kinematic equations of the robot, a model of the relationship between axial position and position transducer signal, the known radius, and the read and stored position transducer signals.
The disadvantage with this calibration method is that the robot has to make contact with the calibration tool and that the calibration body has a limited extent. Upon the repeated contact between the robot and the calibration body, mechanical stresses may build up in the robot which may, in turn, lead to an unreliable calibration result. The fact that the reading is performed upon mechanical contact between the calibration tool and the calibration body leads to variations in the reading position; for example, the calibration body may be somewhat resilient upon contact with the calibration tool. The limited extent of the calibration body reduces the possibilities of varying the robot configurations, which in turn affects the accuracy in the calibration.